---
title: 'mevan 插件'
date: '2024-11-10'
tags: ['jenkins']
draft: false
summary: "mevan 插件是一个用于管理Java项目的工具，它可以帮助我们自动下载、编译、测试、打包、部署等Java项目的任务。"
# images: ['/static/images/twitter-card.png']
---


[下载地址](https://maven.apache.org/download.cgi)


- 选择 Binary tar.gz archive：	apache-maven-3.9.9-bin.tar.gz
- 下载完成后 放到 /usr/local/ 目录下
- 解压 tar -zxvf apache-maven-3.9.9-bin.tar.gz
- 配置环境变量 vim /etc/profile
```shell

MAVEN_HOME=/usr/local/apache-maven-3.9.9
PATH=$PATH:$MAVEN_HOME/bin

# 若没有导出，则需要导出
export MAVEN_HOME PATH
```

启动服务 `/usr/local/apache-maven-3.9.9/bin/mvn`
查看服务版本 `/usr/local/apache-maven-3.9.9/bin/mvn -v` 或者 `mvn -v`

启动服务变量 `source /etc/profile`

**设置为开机启动服务**
```shell
# 编辑创建文件
vi /etc/systemd/system/maven.service

# 在文件中添加以下内容，以定义Maven服务的启动行为
[Unit]
Description=Maven Service
After=network.target

[Service]
# apache-maven-3.9.9 以前解压的目录位置为准
ExecStart=/local/apache-maven-3.9.9/bin/mvn -D
ExecReload=/local/apache-maven-3.9.9/bin/mvn -t
KillMode=process
Restart=on-failure
Type=simple
# 这里不需要指定ExecStart，因为Maven本身不是一个守护进程，通常不需要在开机时自动运行某个Maven命令
# 如果需要在开机时运行特定的Maven任务，可以将该任务写成脚本，并在ExecStart中调用该脚本
# 例如：ExecStart=/path/to/your/maven-task.sh

[Install]
WantedBy=multi-user.target

# 保存并退出文件

# 重新加载systemd配置
systemctl reload
# 启动Maven服务
systemctl start maven.service
# 查看Maven服务状态
systemctl status maven.service
# 设置Maven服务开机启动
systemctl enable maven.service

```


#### maven 镜像配置  [⬆ 回顶部](#)

maven 插件在安装依赖的时候默认拉取的是国外的镜像，速度比较慢，所以需要配置镜像，加速依赖下载。
一般常用 阿里云、腾讯云、华为云的镜像。  
文件位置：`/usr/local/apache-maven-3.9.9/conf/settings.xml`
```shell

# 阿里云镜像源

<mirror>
  <id>alimaven</id>
  <mirrorOf>central</mirrorOf>
  <name>aliyun maven</name>
  <url>https://maven.aliyun.com/repository/central</url>
</mirror>

# 华为云镜像源：
<mirror>
  <id>huaweicloud</id>
  <mirrorOf>central</mirrorOf>
  <name>huaweicloud maven</name>
  <url>https://repo.huaweicloud.com/repository/maven/</url>
</mirror>

# 腾讯云镜像源
<mirror>
  <id>tencent</id>
  <mirrorOf>central</mirrorOf>
  <name>tencent maven</name>
  <url>https://mirrors.cloud.tencent.com/nexus/repository/maven-central</url>
</mirror>

```


#### 删除旧的镜像源

`/usr/local/{pakeage_name}.m2/repository` pakeage_name即jenkins，直接删除仓库即可


[⬆ 回顶部](#)